package io_0927;

import java.io.File;
import java.io.IOException;

/**
 *  文件操作:
 * 1. String getParent() 返回 File 对象的父目录文件路径.
 * 2. String getName() 返回 FIle 对象的纯文件名称.
 * 3. String getPath() 返回 File 对象的文件路径.
 * 4. String getAbsolutePath() 返回 File 对象的绝对路径.
 * 5. String getCanonicalPath() 返回 File 对象的修饰过的绝对路径.
 * 6. boolean exists() 判断 File 对象描述的文件是否真实存在.
 * 7. boolean isDirectory() 判断 File 对象代表的文件是否是一个目录.
 * 8. boolean isFile() 判断 File 对象代表的文件是否是一个普通文件.
 * 9. boolean createNewFile() 根据 File 对象，自动创建一个空文件。成功创建后返回 true.
 * 10. boolean delete() 根据 File 对象，删除该文件。成功删除后返回 true.
 * 11. void deleteOnExit() 根据 File 对象，标注文件将被删除，删除动作会到JVM 运行结束时才会进行.
 * 12. String[] list() 返回 File 对象代表的目录下的所有文件名.
 * 13. File[] listFiles() 返回 File 对象代表的目录下的所有文件，以 File 对象表示.
 * 14. boolean mkdir() 创建 File 对象代表的目录.
 * 15. boolean mkdirs() 创建 File 对象代表的目录，如果必要，会创建中间目录.
 * 16. boolean renameTo(File dest) 进行文件改名，也可以视为我们平时的剪切、粘贴操作.
 * 17. boolean canRead() 判断用户是否对文件有可读权限.
 * 18. boolean canWrite() 判断用户是否对文件有可写权.
 */
public class Demo1 {
    public static void main(String[] args) throws IOException {
        File file = new File("D:/ioTest/test.txt"); // 指定一个绝对路径
        // 绝对路径似乎结果一样~~
        System.out.println(file.getParent()); //返回 File 对象的父目录文件路径.(上一级目录)
        System.out.println(file.getName()); // 返回 FIle 对象的纯文件名称.
        System.out.println(file.getPath()); // 返回 File 对象的文件路径.
        System.out.println(file.getAbsoluteFile()); // 返回 File 对象的绝对路径.
        System.out.println(file.getCanonicalFile()); // 返回 File 对象的修饰过的绝对路径.


        System.out.println();

        File file2 = new File("../testNode/test.txt"); // 指定一个相对路径
        // 相对路径就有区别了~~
        System.out.println(file2.getParent()); //返回 File 对象的父目录文件路径.(上一级目录)
        System.out.println(file2.getName()); // 返回 FIle 对象的纯文件名称.
        System.out.println(file2.getPath()); // 返回 File 对象的文件路径.
        System.out.println(file2.getAbsoluteFile()); // 返回 File 对象的绝对路径.
        System.out.println(file2.getCanonicalFile()); // 返回 File 对象的修饰过的绝对路径.
    }
}

// 其实此处的text.txt文件是不存在的~~接下来Demo2介绍文件的创建和删除